<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // 创建日期对象时
        // 传字符
            // 个数：一个
            // 月份的范围：1~12
            // 没有设置的部分：清0
            // 当超出上限时：Invalid Date
        // var d = new Date("2000.1.1 10:10:10");
        // var d = new Date("2000.1.1");
        // var d = new Date("2000.1.32");
        // var d = new Date("2000-1-1");
        // var d = new Date("2000/1/1");
        // var d = new Date("2000,1,1");
        // console.log(d);
        // console.log(typeof d);

        // 传数值
            // 个数：多个，每个部分，是一个
            // 月份的范围：0~11
            // 没有设置的部分：清0
            // 当超出上限时：向前一部分进1

        // var d = new Date(2022, 1, 1, 9, 10, 8);
        // var d = new Date(2022, 1, 1);
        // var d = new Date(2022, 1, 32);
        // console.log(d);
        // console.log(typeof d);

        // 测试：
        // var d = new Date(2022, 12, 2);
        // console.log(d.getFullYear());       // 2023
        // console.log(d.getMonth());          // 0
    
    // 创建日期对象后：日期对象的set系列方法
        // 参数类型：数值型
        // 个数：一个方法一个参数
        // 没有设置的部分：以当前日期时间为准
        // 月份范围：0~11
        // 当超出上限时：向前一部分进1

    var d = new Date();

    d.setFullYear(2000);
    d.setMonth(12);
    d.setDate(12);
    
    // d.setDay(3);

    d.setHours(10)
    d.setMinutes(9)
    d.setSeconds(8)
    d.setMilliseconds(666);

    console.log(d);

    console.log(d.getMilliseconds());

    // 总结：使用场景
        // 创建日期对象时：一般用来直接设置指定日期
            // 要北京奥运会开幕式时间
            var d1 = new Date("2008.8.8 20:8:0")
            console.log(d1)
        // 创建日期对象后：一般用来计算当前日期过去或未来的时间
            // 要三天之后的日期对象
            var d2 = new Date();
            d2.setDate(d2.getDate() + 3);
            console.log(d2);
    
    // =======

    // 通过设置时间戳，修改日期对象
    var d3 = new Date();
    d3.setTime( 1000000000000 );
    console.log(d3);

</script>
</html>